var app = getApp();
Component({
  data: {
    hide_good_box: true,
  },
  properties: {
    item: {
      type: Object,
      value: {},
    },
    feiBox: {
      type: String,
      value: "123",
    },
  },
  methods: {
    // 设置动画-三次贝塞尔曲线
    setAnimation(e) {
      // 第一步设置图片
      this.setData({
        feiBox: e.currentTarget.dataset.item.shop_pic,
      });
      // 第二步判断hide_good_box是否为true，good_box正在运动就不执行
      if (!this.data.hide_good_box) return;
      // 第三步设置按下的位置、购物车的位置、顶部的位置
      // 当前点击位置的x，y坐标
      this.finger = {};
      var topPoint = {};
      this.finger["x"] = e.touches["0"].clientX;
      this.finger["y"] = e.touches["0"].clientY - 20;
      // 如果点击的位置小于购物车的位置，那么就让topPoint的y值等于点击的位置的y值，否则就让topPoint的y值等于购物车的y值
      if (this.finger["y"] < this.busPos["y"]) {
        topPoint["y"] = this.finger["y"] - 150;
      } else {
        topPoint["y"] = this.busPos["y"] - 150;
      }
      topPoint["x"] = (this.finger["x"] + this.busPos["x"]) / 2;
      // 第四步设置贝塞尔曲线的点
      this.linePos = app.bezier([this.finger, topPoint, this.busPos], 30);
      // 第五步开始动画
      this.startAnimation(e);
    },
    // 开始动画
    startAnimation(e) {
      var index = 0,
        that = this,
        bezier_points = that.linePos["bezier_points"];
      this.setData({
        hide_good_box: false,
        bus_x: that.finger["x"],
        bus_y: that.finger["y"],
      });
      this.timer = setInterval(function () {
        index++;
        that.setData({
          bus_x: bezier_points[index]["x"],
          bus_y: bezier_points[index]["y"],
        });
        if (index >= 28) {
          clearInterval(that.timer);
          that.setData({
            hide_good_box: true,
            hideCount: false,
            count: (that.data.count += 1),
          });
        }
      }, 33);
    },
  },
  lifetimes: {
    ready() {
      // 在组件在视图层布局完成后执行
      var that = this;
      //可视窗口x,y坐标
      this.busPos = {};
      console.log(app.globalData.ww);
      this.busPos["x"] = 50;
      this.busPos["y"] = app.globalData.hh;
      this.setAnimation(this.data.item);
      // setTimeout(()=>{
      //   this.triggerEvent('myevent', false)
      // },1000)
    },
    moved() {
      // 在组件实例被移动到节点树另一个位置时执行
      console.log("开始动画了！");
    },
    detached() {
      // 在组件实例被从页面节点树移除时执行
      console.log("detached");
    },
  },
});
